<template>
  <el-menu default-active="1-4-1" 
            class="el-menu-vertical-demo" 
            @open="handleOpen" 
            @close="handleClose" 
            :collapse="isCollapse" 
            background-color="#545c64" 
            text-color="#fff"
            active-text-color="#ffd04b">

    <h3>{{ isCollapse ?'后台':'"漂流岛"后台管理系统'}}</h3>
    <el-menu-item @click="clickMenu(item)" v-for="item in nochildren" :key="item.name" :index="item.name">
      <i :class="`el-icon-${item.icon}`"></i>
      <span slot="title">{{item.label}}</span>
    </el-menu-item>

    <!-- 用label替代name，具有唯一性 -->
    <el-submenu v-for="item in haschildren" :key="item.label" :index="item.label">
      <template slot="title">
        <i :class="`el-icon-${item.icon}`"></i>
        <span slot="title">{{item.label}}</span>
      </template>
      <!-- 二级菜单 -->
          <!-- 用path替代name,具有唯一性 -->
      <el-menu-item-group  v-for="subitem in item.children" :key="subitem.path">
        <el-menu-item @click="clickMenu(subitem)" :index="subitem.path">{{subitem.label}}</el-menu-item>
      </el-menu-item-group>
    </el-submenu>
  </el-menu>
</template>


<style lang="less" scoped>
// <style lang="less" scoped>????为什么是scope？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？
    .el-menu-vertical-demo:not(.el-menu--collapse) {
      width: 200px;
      min-height: 400px;
    }
    .el-menu{
        height: 100vh;
        border-right: none;//取消边缘白区
        h3{//菜单标题样式
            color:#fff;
            text-align:center;//居中
            line-height: 48px;
            font-size: 16px;
            font-weight: 400;
        }

    }
</style>

<script>
    export default {
      data() {
        return {
          // isCollapse: false,
          menuData:[
            {
                path:'/',
                name:'home',
                label: '首页',
                icon:'s-home',
                url:'Home/Home'
            },
            {
                path:'/mail',
                name:'mail',
                label: '书籍管理',
                icon:'video-play',
                url:'MailManage/MailManage'
            },
            {
                path:'/user',
                name:'user',
                label: '用户管理',
                icon:'user',
                url:'UserManage/UserManage'
            },
            {
                label: '其他',
                icon:'location',
                children:[
                    {
                        path:'/page1',
                        name:'page1',
                        label: '页面1',
                        icon:'setting',
                        url:'Other/PageOne'
                    },
                    {
                        path:'/page2',
                        name:'page2',
                        label: '公告管理',
                        icon:'setting',
                        url:'Other/PageTwo'
                    }
                ]
            }
          ]
        };
      },
      methods: {
        handleOpen(key, keyPath) {
          console.log(key, keyPath);
        },
        handleClose(key, keyPath) {
          console.log(key, keyPath);
        },
        clickMenu(item){
            console.log('item',item)
            console.log('route',this.$route)//当前路由
            if(this.$route.path !== item.path && !((this.$route.path === '/home') && (item.path === '/')))
            this.$router.push(item.path)
        }
      },
      computed:{
        nochildren(){//没有子菜单
            return this.menuData.filter(item => !item.children)
        },
        haschildren(){//有子菜单
            return this.menuData.filter(item => item.children)
        },
        isCollapse(){
            return this.$store.state.tab.isCollapse
        }
      }
    }
</script>
<!-- <style lang="less" scoped>
.el-menu{
  border-right: none;
}
</style> -->